package com.lanchetech.service;

import com.lanchetech.bean.request.SpuPageReq;
import com.lanchetech.bean.response.PackageResp;
import com.lanchetech.bean.response.SpuResp;
import com.lanchetech.bean.vo.NumberVO;
import com.lanchetech.entity.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface DaoService {
    Map<Long, Category> getCategoryMap(List<Long> ids);
    Map<Long, Brand> getBrandMap(List<Long> ids);
    Map<Long, Freight> getFreightMap(List<Long> ids);
    Map<Long, List<Sku>> getSkuListMap(List<Long> spuIds);
    Map<Long, Spu> getSpuMap(List<Long> ids);
    Map<Long, Sku> getSkuMap(List<Long> ids);
    Map<Long, User> getUserMap(List<Long> ids);
    Map<Long, SpuCommission> getSpuCommissionMap(List<Long> spuIds);
    List<Spu> findAllLikeSpu(Long categoryId);
    PackageResp getPackageDetail(Long id);
    Map<String, LogisticsCompany> getLogisticsCompanyMap();
    Map<Long, Coupon> getCouponMap(List<Long> ids);
    Map<Long, Columns> getColumnMap(List<Long> ids);
    Map<Long, Course> getCourseMap(List<Long> ids);
    Map<String, String> getHipoConfigMap();
    String getHipoConfigValue(String name);
    BigDecimal getHipoConfigNumber(String name);
    Map<Long, Lottery> getLotteryMap(List<Long> ids);
    Map<Long, Shop> getShopMap(List<Long> ids);
    Map<Long, AppointmentSetting> getAppointmentSettingMap(List<Long> ids);
    Map<Long, AppointmentSetting> getAppointmentSettingMapBySpuIds(List<Long> spuIds);
    Map<Long, SpuCourierAmount> getSpuCourierAmount(List<Long> spuIds);
    Map<Long, Job> getJobMap(List<Long> ids);
    Map<Long, Industry> getIndustryMap(List<Long> ids);
    Map<Long, FarmProduct> getFarmProductMap(List<Long> ids);
    Map<Long, MsgUser> getMsgUserMap(List<Long> ids);
    Map<Long,UserTask> getUserTaskMap(List<Long> collect, Long id, Date date);
    Map<Long, FarmUser> getFarmUserMap(List<Long> userIds);
    Map<Long, Sapling> getSaplingMap();
    Map<Long, Orders> getOrdersMap(List<Long> ordersIds);
    Map<Long, MerchantRole> getMerchantRoleMap(List<Long> ids);
    Map<Long, Tenant> getTenantMap(List<Long> collect);
    Map<Long,Blog> getBlogMap(List<Long> collect);
    Map<Long, CommonComment> getCommonCommentMap(List<Long> ids);
    Map<Long, TagCategory> getTagCategoryMap(List<Long> tagCategoryIds);
    Map<Long, Admin> getAdminMap(List<Long> adminIds);
    Map<Long, OrderSku> getOrderSkuMap(List<Long> collect);
    List<SpuResp> likeSpu(SpuPageReq req);
}